<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>状态模式示例</title>
</head>

<body>
  <script src="./status.js" charset="utf-8"></script>
  <p>策略模式和状态模式的相同点是，它们都有一个上下文，一些策略类或状态类，上下文把请求委托给这些类来执行。</p>
  <p>它们之间的区别是策略模式中的各个策略类之间是平等又平行的，它们之间没有任何联系，所以客户必须熟知这些策略类的作用，以便客户可以随时主动切换算法；但在状态模式中，状态和状态对应的行为时早已被封装好的，状态之间的切换也早被规定完成，“改变行为”这件事情发生在状态模式内部。对客户来说，并不需要了解这些细节。这正是状态模式的作用所在。</p>
</body>

</html>
